@echo off
chcp 65001 >nul
title 喵趣AI项目启动脚本

echo ======================================
echo        喵趣AI 项目启动脚本
echo ======================================

:check_requirements
echo 检查环境依赖...

:: 检查Python
python --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ Python 未安装
    pause
    exit /b 1
)
for /f "tokens=2" %%i in ('python --version 2^>^&1') do echo ✅ Python 已安装: %%i

:: 检查Node.js
node --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ Node.js 未安装
    pause
    exit /b 1
)
for /f "tokens=*" %%i in ('node --version 2^>^&1') do echo ✅ Node.js 已安装: %%i

:: 检查MySQL (可选)
mysql --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ⚠️  MySQL 未安装或未在PATH中
) else (
    echo ✅ MySQL 已安装
)

:install_backend
echo.
echo 安装后端依赖...
cd backend

:: 创建虚拟环境
if not exist "venv" (
    python -m venv venv
    echo ✅ 创建虚拟环境
)

:: 激活虚拟环境并安装依赖
call venv\Scripts\activate.bat
pip install -r requirements.txt
if %errorlevel% neq 0 (
    echo ❌ 后端依赖安装失败
    pause
    exit /b 1
)
echo ✅ 后端依赖安装完成

cd ..

:install_frontend
echo.
echo 安装前端依赖...
cd frontend

:: 安装npm依赖
call npm install
if %errorlevel% neq 0 (
    echo ❌ 前端依赖安装失败
    pause
    exit /b 1
)
echo ✅ 前端依赖安装完成

cd ..

:init_database
echo.
echo 初始化数据库...
echo 请确保MySQL服务已启动，并按照docs/deployment.md创建数据库

cd backend

:: 检查.env文件
if not exist ".env" (
    copy .env.example .env >nul
    echo ✅ 创建.env配置文件，请编辑数据库连接信息
)

cd ..

:start_services
echo.
echo 启动项目服务...

:: 创建日志目录
if not exist "logs" mkdir logs

:: 启动后端服务
echo 启动后端服务...
cd backend
call venv\Scripts\activate.bat
start "后端服务" /min cmd /c "python run.py > ..\logs\backend.log 2>&1"
echo ✅ 后端服务已启动

:: 启动Celery worker
start "Celery Worker" /min cmd /c "venv\Scripts\activate.bat && celery -A tasks.image_generation.celery worker --loglevel=info > ..\logs\celery.log 2>&1"
echo ✅ Celery worker已启动

cd ..

:: 等待后端启动
timeout /t 3 /nobreak >nul

:: 启动前端开发服务器
echo 启动前端服务...
cd frontend
start "前端服务" cmd /c "npm run dev"
echo ✅ 前端服务已启动

cd ..

echo.
echo ======================================
echo 🚀 所有服务已启动完成！
echo ======================================
echo 前端访问地址: http://localhost:5173
echo 后端API地址: http://localhost:5000
echo.
echo 日志文件位置:
echo - 后端日志: logs\backend.log  
echo - Celery日志: logs\celery.log
echo.
echo 关闭此窗口将停止所有服务
echo ======================================

:: 保持窗口打开
:wait_loop
timeout /t 60 /nobreak >nul
goto wait_loop